Public Class Param

    Public Enum eDataType
        [Byte]        ' 1 Byte
        [Short]       ' 2 Byte
        [Integer]     ' 4 Byte
        [String]      ' x Byte
    End Enum

    Private _paramDataType As eDataType
    Private _paramValue As String
    Private _paramCaption As String

    Public Sub New(ByVal paramDataType As eDataType, ByVal paramValue As String)
        _paramDataType = paramDataType
        _paramValue = paramValue
    End Sub

    Public Sub New(ByVal paramDataType As eDataType, ByVal paramValue As Integer)
        _paramDataType = paramDataType
        _paramValue = paramValue.ToString
    End Sub

    Public Sub New(ByVal paramDataType As eDataType, ByVal paramValue As String, ByVal paramCaption As String)
        _paramDataType = paramDataType
        _paramValue = paramValue
        _paramCaption = paramCaption
    End Sub

    Public Property ParamDataType() As eDataType
        Get
            Return _paramDataType
        End Get
        Set(ByVal value As eDataType)
            _paramDataType = value
        End Set
    End Property

    Public Property ParamCaption() As String
        Get
            Return _paramCaption
        End Get
        Set(ByVal value As String)
            _paramCaption = value
        End Set
    End Property

    Public Property ParamValue() As String
        Get
            Return _paramValue
        End Get
        Set(ByVal value As String)
            _paramValue = value
        End Set
    End Property
End Class